import java.util.*;

//输入两个整数，分别表示二位数组的行数，列数。再输入相应的数组，其中的1表示墙壁，
// 0表示可以走的路。数据保证有唯一解,不考虑有多解的情况，即迷宫只有一条通道。
public class Demo2 {
    static List<List<Integer>> lists=new ArrayList<List<Integer>>();
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while (sc.hasNext()){
            int row=sc.nextInt();
            int col=sc.nextInt();
            int[][] arr=new int[row][col];
            for (int i = 0; i < arr.length; i++) {
                for (int j = 0; j < arr[0].length; j++) {
                    arr[i][j]=sc.nextInt();
                }
            }
            int[][] hp=new int[row][col];
            List<Integer> list=new ArrayList<Integer>();
            helper(arr, 0, 0,list,row,col,hp);
            Collections.sort(lists, new Comparator<List<Integer>>() {
                public int compare(List<Integer> o1, List<Integer> o2) {
                    return o1.size()-o2.size();
                }
            });//对lists的元素也就是路径长度进行排序
            list=lists.get(0);//拿出第一条路径（最短路径）
            for (int i = 0; i < list.size(); i++) {
                System.out.println("("+list.get(i)+","+list.get(++i)+")");
            }
            lists.clear();
        }
    }

    private static void helper(int[][] arr, int i, int j,List<Integer> list,int row,int col,int[][] hp) {
        if(i<0||j<0||i>=row||j>=col||hp[i][j]==1||arr[i][j]==1){}//所有非法情况
        else if(i==row-1&&j==col-1){//到达终点
            list.add(i);
            list.add(j);
            lists.add(new ArrayList<Integer>(list));//得到一条完整路径，添加
            list.remove(list.size()-1);//将list的终点坐标清除，回溯法的核心就是办完事（达到目标）一定要完全还原之前的状态
            list.remove(list.size()-1);//这里的list是引用传递，所以不清除的话会一直带着终点坐标
        }
        else{
            list.add(i);
            list.add(j);
            hp[i][j]=1;
            helper(arr, i+1, j, list, row, col,hp);
            helper(arr, i, j+1, list, row, col,hp);
            helper(arr, i-1, j, list, row, col,hp);
            helper(arr, i, j-1, list, row, col,hp);
            hp[i][j]=0;//回溯
            list.remove(list.size()-1);//回溯
            list.remove(list.size()-1);//回溯
        }
    }
}



